package com.pxmeta.chat.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pxmeta.chat.entity.ChatGroup;
import com.pxmeta.chat.entity.vo.ChatGroupDetailVO;
import com.pxmeta.chat.entity.vo.ChatGroupListVO;
import com.pxmeta.chat.entity.vo.CreateGroupVO;

import java.util.List;

public interface IChatGroupService extends IService<ChatGroup> {
    /**
     * 创建群聊
     * @param userId
     * @param vo
     * @return
     */
    String createChatGroups(Long userId, CreateGroupVO vo);


    /**
     * 获取圈子群聊列表
     * @return
     */
    List<ChatGroupListVO> getCircleChatGroups(Long circleId, Long userId, String name);

    /**
     * 获取圈子群聊列表
     * @return
     */
    List<ChatGroupListVO> getChatGroupPage(Long circleId, Long userId, String keyword, Integer page, Integer size);


    /**
     * 获取免打扰群聊集合
     * @param userId
     * @return
     */
    List<Long> getNotDisturbChatGroups(Long userId);

    ChatGroupDetailVO getChatGroupInfo(Long chatGroupId,String username);


    /**
     * 解散群组
     * @param groupId
     */
    void deleteChatGroup(String groupId);

    void increaseUserCount(String groupId, int size);

    /**
     * 退出群聊
     * @param groupId
     * @param username
     */
    void signOutChatGroup(String groupId, String username);
}
